﻿using System;

namespace MoroMoro.Samples.ToDoList.Base.Application
{
    /// <summary>
    /// 操作出力を定義するための基本クラスです。
    /// </summary>
    /// <remarks>
    /// <para>
    /// <see cref="OperationScript&lt;TOutputs, TErrors&gt;"/> クラスの派生クラス毎に、対となる <see cref="OperationOutputs"/> 派生クラスを定義します。
    /// 保守性の観点から、操作スクリプトに出力が無い場合でも必ず用意します。
    /// </para>
    /// <para>
    /// 操作出力クラスには、利便性のために既定のコンストラクタを用意し、各出力値は取得及び設定が可能なプロパティとして実装します。
    /// </para>
    /// </remarks>
    /// <example>
    /// 操作出力の定義例を次のコード例で示します。
    /// <code>
    /// using System;
    /// using System.Collections.Generic;
    /// using MoroMoro.Samples.ToDoList.Base.Application;
    /// using MoroMoro.Samples.ToDoList.Domain.ToDos;
    /// 
    /// namespace MoroMoro.Samples.ToDoList.Application.ToDos
    /// {
    ///     public class ToDoListLoadOutputs : WorkOutputs
    ///     {
    ///         public List&lt;ToDo&gt; List
    ///         {
    ///             get;
    ///             set;
    ///         }
    ///     }
    /// }
    /// </code>
    /// </example>
    /// <seealso cref="OperationScript&lt;TOutputs, TErrors&gt;"/>
    public class OperationOutputs
    {
    }
}
